// index.js

// commonjs导入
const add = require('../../utils/index')
const calculateDistance = require('../../utils/calculateDistance')
const moment = require('moment')
// esm导入
import {
  sub
} from '../../utils/esm.js'

const app = getApp()
Page({
  // 状态变量：此变量变化了，会响应式更新UI界面
  data: {
    img_url: '',
    html: '<h1>Hello <i style="color:red;">World!</i></h1>',
    num1: 1,
    num2: 2,
    buttons: [{
      text: '取消'
    }, {
      text: '确认'
    }],
    users: [{
      id: 1,
      name: '张三'
    }, {
      id: 2,
      name: '李四'
    }, {
      id: 3,
      name: '王五'
    }],
    fruits: ['西瓜', '香蕉', '苹果'],
    username: '张老师',
    age: 18,
    flag: true,
    week: 2,
    flag2: false,
    isHidden: false // 初始状态为显示
  },

  onLoad() {
    // 29.652855,116.002282
    // 29.705317,115.992621
    // console.log(calculateDistance(29.652855, 116.002282, 29.67599, 115.681239))
  },

  goAuthHandler(){
    wx.authorize({
      scope: 'scope.writePhotosAlbum',
      success(){
        wx.showToast({
          title: '弹框同意',
          icon:'none'
        })
      },
      fail(){
        wx.showToast({
          title: '弹框拒绝',
          icon:'none'
        })
      },
    })
  },

  authHandler(){
    // 保存到相册，判断用户是否具有此权限（对具有权限接口，要先判断）
    wx.getSetting({
      success(res){
        if(res.authSetting['scope.writePhotosAlbum']){
          wx.showToast({
            title: '有保存相册权限',
            icon:'none'
          })
        }else {
          wx.showToast({
            title: '没有保存相册权限',
            icon:'none'
          })

          wx.openSetting({
            success(res){
              // 获取用户是否有没有在设置页面开启
              if(!res.authSetting['scope.writePhotosAlbum']){
                console.log('你在设置页面没有开启')
                // 递归提示用户，必须开启
              } else {
                console.log('你在设置页面已经开启')
              }
            }
          })
        }
      }
    })
  },

  async chooseMedia() {
    // 1. 选择资源
    let res = await wx.chooseMedia({
      count: 5,
    })
    console.log('res=>',res)
    // 保存图片
    wx.saveImageToPhotosAlbum({
      filePath:  res.tempFiles[0].tempFilePath
    })

    // 2. 预览
    // let imgs = res.tempFiles.map(item => {
    //   return item.tempFilePath
    // })
    // wx.previewImage({
    //   urls:imgs,
    //   showmenu:true,
    //   success(){
    //     console.log('预览成功')
    //   },
    //   fail(err){
    //     console.log(err)
    //   }
    // })



    // 2. 可裁剪图片
    // const _this = this
    // wx.cropImage({
    //   cropScale: "16:9",
    //   src: res.tempFiles[0].tempFilePath,
    //   success(res2) {
    //     console.log('res2=>', res2)
    //     // 3. 预览并上传给服务器
    //     _this.setData({
    //       img_url: res2.tempFilePath
    //     })


    //     // 上传服务器
    //     // wx.uploadFile({
    //     //   filePath: res2.tempFilePath,
    //     //   name: 'wxavatar',
    //     //   url: 'http://127.0.0.1:7000/wxupload',
    //     //   success(res){
    //     //     console.log('上传成功',JSON.parse(res.data))
    //     //   },
    //     //   fail(err){
    //     //     console.log(err)
    //     //   }
    //     // })
    //   }
    // })
  },

  selectLocation() {
    wx.chooseLocation({
      longitude: '115.919115',
      latitude: '29.632721',
      success(data) {
        console.log('你选择的位置：', data)
      }
    })
  },

  getLocationInfo() {
    console.log('111')
    wx.getLocation({
      type: 'gcj02', // 返回可以用于wx.openLocation的经纬度
      isHighAccuracy: true, // 高精度
      success(res) {
        const latitude = res.latitude
        const longitude = res.longitude
        console.log('经纬度', longitude, latitude)
        // wx.openLocation会打开腾讯内置地图
        wx.openLocation({
          latitude,
          longitude,
          scale: 18
        })
      }
    })
  },

  // 下拉（实现下拉刷新）
  onPullDownRefresh() {
    console.log('下拉')
  },
  // 触底（上拉加载更多）
  onReachBottom() {
    console.log('触底（上拉加载更多）')
  },

  setStorage() {
    wx.setStorageSync('token', 'ertydfughjk42325245')
    wx.setStorageSync('userInfo', {
      id: 1,
      name: 'teacher-zhang'
    })
    wx.batchSetStorageSync([{
      key: 'a',
      value: 100
    }, {
      key: 'b',
      value: '200'
    }])
  },
  getStorage() {
    console.log(wx.getStorageInfoSync())
    console.log(wx.getStorageSync('token'))
    console.log(wx.getStorageSync('userInfo'))
  },
  delStorage() {
    wx.removeStorageSync('token')
  },
  clearStorage() {
    wx.clearStorageSync()
  },

  copy() {
    wx.setClipboardData({
      data: '12345678',
      success(res) {
        console.log('复制成功')
      }
    })
  },
  subPackage() {
    wx.navigateTo({
      url: '/goods/pages/index/index',
    })
  },
  systemHandler() {
    console.log(wx.canIUse('getSystemInfo.success.screenWidth'))
    // 获取微信App信息
    const weixinApp = wx.getAppBaseInfo()
    console.log(weixinApp)
    // 获取设备设置信息(wifi、蓝牙、地理位置、屏幕方向)
    const Setting = wx.getSystemSetting()
    console.log(Setting)
    // 获取手机设备信息（手机品牌、手机系统、手机型号版本）
    const deviceInfo = wx.getDeviceInfo()
    console.log(deviceInfo)
    // 获取窗口信息（高度、宽度、可用宽度、状态栏高度）
    // const windowInfo = wx.getWindowInfo()
    // console.log(JSON.stringify(windowInfo))
  },
  scanHandler() {
    wx.scanCode({
      success(data) {
        console.log('扫描结果：', data)
      }
    })
  },
  tabbarHandler() {

    wx.setBackgroundColor({
      backgroundColorTop: '#ff0000', // 顶部窗口的背景色为红色
      // backgroundColorBottom: '#00ff00', // 底部窗口的背景色绿色
    })

    // wx.setTabBarItem({
    //   index: 2,
    //   text: '朋友圈',
    //   iconPath: '/assets/tabbar/home.png',
    //   selectedIconPath: '/assets/tabbar/home-active.png'
    // })
    // wx.hideTabBar()
    // wx.setTabBarBadge({
    //   index: 0,
    //   text: '101'
    // })
  },
  requestHandler() {
    wx.request({
      url: 'http://47.98.187.80:5000/api/getlunbo',
      method: 'GET',
      success: (res) => {
        /* 成功的回调 */
        console.log('success', res.data)
      },
      fail: () => {
        /* 失败的回调 */
        console.log('fail')
      },
      complete: () => {
        /* 请求完成的回调（无论成功或失败都会触发） */
        console.log('complete')
      },
    })
  },
  dialogHandler() {
    wx.showActionSheet({
      itemList: ['A', 'B', 'C'],
      success(res) {
        console.log(res.tapIndex)
      },
      fail(res) {
        console.log('取消了')
      }
    })


    // wx.showModal({
    //   title: '提示',
    //   content: '这是一个模态弹窗',
    //   success (res) {
    //     if (res.confirm) {
    //       console.log('用户点击确定')
    //     } else if (res.cancel) {
    //       console.log('用户点击取消')
    //     }
    //   }
    // })
    // wx.showLoading({
    //   title: '加载中',
    // })
    // setTimeout(()=>{
    //   wx.hideLoading()
    // },1000)
    // wx.showToast({
    //   title: '成功',
    //   icon: 'none',
    //   duration: 3000,
    //   mask:true
    // })

    // setTimeout(()=>{
    //   wx.hideToast()
    // },1000)
  },
  loginHandle() {
    wx.showToast({
      title: '登录成功',
    })
  },
  bindbuttontapHandle(event) {
    console.log(event.detail)
  },
  myEvenHandle(event) {
    console.log('触发自定义事件', event.detail)
  },
  getBoxInfo() {
    const query = wx.createSelectorQuery()
    // 查询节点局视口的偏移量
    query.select('#zhang-teacher').boundingClientRect(function (res) {
      // console.log('元素距离视口高度：', res.top);
      // console.log('元素宽高：', res.width,res.height);
    })
    // 查询页面滚动的相关距离
    query.selectViewport().scrollOffset(function (res) {
      // console.log('页面向上滚动的距离', res.scrollTop);
    })
    // 执行
    query.exec()
  },
  backTop() {
    wx.pageScrollTo({
      // 回到顶部
      scrollTop: 0
      // 回到指定节点位置
      // selector: "#zhang-teacher"
    })
  },
  onPageScroll() {
    // console.log('onPageScroll')
    this.getBoxInfo()
  },

  onReady: function () {
    // 页面渲染完成
    // console.log('index onReady')
  },
  onShow: function () {
    // 页面显示
    // console.log('index onShow')
  },
  onHide: function () {
    // 页面隐藏
    console.log('index onHide')
  },
  onUnload: function () {
    // 页面关闭
    // console.log('index onUnload')
  },
  toogleFlag() {
    this.setData({
      flag: !this.data.flag
    })
  },
  setUsername() {
    this.data.username = '汪哥' // 仅仅是该数据，页面UI不会更新
    console.log(this.data.username)
    // this.setData({}): 改状态变量数据，页面UI会更新 
    this.setData({
      username: '汪哥',
      age: 20
    })

  },
  jump() {
    // 编程式跳转
    wx.navigateTo({
      url: '/pages/list/list?a=1&b=2'
    })

  },
  jump2() {
    // 编程式跳转
    wx.redirectTo({
      url: '/pages/list/list'
    })

  },
  jump3() {
    // 编程式跳转
    wx.switchTab({
      url: '/pages/category/category',
    })
  },

})